1. Field of the Invention
The present invention generally relates to a system, method and program product for centrally managing agents. Specifically, the present invention allows master agents of a centralized control system to execute remote agents according to predefined scheduling, so as to avoid agent conflicts.
2. Background Art
In today's business world, businesses are increasingly implementing computer networks to foster growth. As such, many networks include one or more servers in communication with numerous clients. Moreover, these networks are often implemented as a local area network (LAN), wide area network (WAN), virtual private network (VPN) or the like. In general, computer systems implemented over a network commonly include agents. As known in the art, agents are programs that perform functions or services over a network according to defined scheduling. Under many network implementations, it is common for each computer system (e.g., server or client) to include one or more agents for performing a specific function.
Once type of function often performed by agents is data redundancy or processing. Specifically, business owners often desire that data stored within the network be copied or otherwise backed up to help minimize the loss of data in the event that a server or client fails. To this extent, if a business owner desires that data stored on a particular (source) server be replicated to another (destination) server, the source server will generally include a “replication” agent that will carry out the replication process.
Problems arise, however, as computer networks and the quantity of agents associated therewith begin to grow. Specifically, as more agents function, the potential for conflicts grows. For example, simultaneous execution of agents “A,” “B” and “C” could cause serious performance degradation on a server. Moreover, executing an agent (e.g., a replication agent) during a period of high end-user use could cause a process (e.g., replication) to malfunction. In addition, a particular function could require a specific sequence of agents to be executed, which if not followed, could result in data integrity problems. The current disparate nature in which agents are controlled often gives rise to such conflict issues.
An additional problem with a high quantity of agents distributed across a growing network is the time and energy required to schedule the agents for execution. Specifically, agents are currently scheduled at a local level so that if server “A” is to be replicated to server “B,” an administrator/programmer must access server “A” to schedule the replication agent. As the network begins to grow, local scheduling could place unreasonable strain on a business' resources.
In view of the forgoing, there exists a need for a system, method and program product for centrally managing agents. Specifically, there exists a need for a centralized “control” system having a database of master agents that are scheduled to execute remote agents residing on remote systems connected to the control system. A further need exists for the master agents to be able to communicate with the remote agents to implement functions corresponding to the remote agents and/or the remote databases. A need also exists for the master agents and/or the remote agents to be grouped for more controlled execution.